home *** CD-ROM | disk | FTP | other *** search
- /* ___________________________________________________________________________
- ** |*************************************************************************|
- ** |*|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|*|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|*|
- ** |*| Set TAB to 4 for best readable file layout. |*| C++ MaxonDev 4.0 |*|
- ** |*|______________________________________________|*|____________________|*|
- ** |*************************************************************************|
- ** |*|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|*|¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯|*|
- ** |*| |*| $Id: settings.h (28.04.01) |*|
- ** |*| ###### ###### |*| RhoSigma Source based on NDK 3.1 Includes 40.15 |*|
- ** |*| ## ## ## # |*| _________________________________________________ |*|
- ** |*| ## ## ## |*| |*|
- ** |*| ###### ## |*| Useful defines and extensions for NDK includes |*|
- ** |*| ## ## |*| |*|
- ** |*| ## ## # |*| ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ |*|
- ** |*| ## ###### |*| Copyright © 1998-2001 RhoSigma, Roland Heyder |*|
- ** |*| |*| All Rights Reserved. |*|
- ** |*|_______________|*|___________________________________________________|*|
- ** |*************************************************************************|
- ** ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
- */
-
- #ifndef RHOSIGMA_SETTINGS_H
- #define RHOSIGMA_SETTINGS_H
-
- #ifndef EXEC_TYPES_H
- #include <exec/types.h>
- #endif
-
- /** enhanced booleans **/
-
- #ifndef UPPER /* Signum-Werte zur Verwendung in */
- #define UPPER 1L /* Variablen des Typs BOOL */
- #endif
- #ifndef EQUAL
- #define EQUAL 0L
- #endif
- #ifndef LOWER
- #define LOWER -1L
- #endif
-
- /** intuition **/
-
- #define DATPOS_C -1 /* Text zentrieren */
- #define DATPOS_L -2 /* Text linksbündig */
- #define DATPOS_R -3 /* Text rechtsbündig */
-
- /*** rhosigma / DATEXT() ***
- *»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- * Dieses Macro erstellt einen Teilstring des Parameterstrings der Intuition-
- * Routine »DisplayAlert()«. Wahlweise kann der Text automatisch zentriert,
- * oder links- bzw. rechtsbündig ausgerichtet werden.
- *-----------------------------------------------------------------------------
- * Definiert: settings.h (Copyright © 1998-2001 RhoSigma, Roland Heyder)
- *
- * Schablone: Name/A, xPos/A/N, yPos/A/N, String/A, EndFlag/N/S
- *
- * Parameter: Name --> ein beliebiger Name als ID für diesen Teilstring
- *
- * xPos --> x-Position des Textes,
- * oder einer der oben definierten DATPOS-Werte.
- *
- * yPos --> y-Position des Textes,
- * Ausrichtung nach BaseLine des Fonts (topaz/8)
- *
- * String --> der Text selbst aber ohne ("") Anführungszeichen
- *
- * EndFlag --> - TRUE , dann endet hier der Parameterstring
- * - FALSE, dann MUSS noch ein weiterer Teilstring
- * (Macro-Aufruf) folgen.
- *
- * Bemerkung: Leider gestattet der Macro-Aufbau sowie die Initialisierungs-
- * Regeln in C/C++ und dazu noch die Macken einiger Compiler keinen
- * vollständigen Aufbau des Parameterstrings (Ja, ich hasse C !!).
- * Aus diesem Grunde ist es in C/C++ erforderlich, die einzelnen
- * Teilstrings vor der Benutzung noch mittels der ebenfalls hier
- * deklarierten Funktion »DAJOIN()« abschließend vorzubereiten.
- *
- * Ein Beispiel für die Benutzung dieses Macros finden Sie in
- * der Datei »demo/AlertDemo.C«.
- *
- * ACHTUNG: Die einzelnen Teilstrings, die später zu einem Parameterstring
- * ¯¯¯¯¯¯¯¯ gehören, müssen auf JEDEN FALL direkt nacheinander deklariert
- * werden, während zwischen zwei kompletten Parameterstrings aber
- * durchaus auch andere Deklarationen gemacht werden können.
- *
- * Siehe auch: »DAJOIN()«
- *«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««*/
-
- #define DATEXT(Name, xPos, yPos, String, EndFlag) \
- typedef struct { \
- WORD da_PosX; \
- UBYTE da_PosY; \
- TEXT da_Text[sizeof(#String)+(3-((sizeof(#String)-1)&3))]; \
- UBYTE da_Cont; \
- } datext_##Name; \
- STATIC datext_##Name Name = {xPos,yPos,#String,!EndFlag};
-
- /*** rhosigma / DAJOIN() ***
- *»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»»
- * Diese Funktion dient der abschließenden Vorbereitung der mittels »DATEXT()«
- * initialisierten Teilstrings zur Verwendung mit »DisplayAlert()«. Idealer Weise
- * sollte man diese Funktion als erste innerhalb der Main-Funktion aufrufen.
- * Hier wird jetzt jedoch nur der Prototyp dieser Funktion deklariert, die ei-
- * gentliche Funktion ist Bestandteil der mitgelieferten »rhosigma.c« Source und
- * sollte in Ihr Projekt eingebunden werden.
- *-----------------------------------------------------------------------------
- * Synopsis: VOID DAJOIN (Count, ...)
- *
- * Eingaben: Count --> (UWORD) Anzahl der übergebenen Teilstrings
- *
- * ... --> (&ID) nacheinander die Adressen (Referenzen) der
- * einzelnen Teilstrings
- *
- * Bemerkung: Mehrfacher Aufruf für jeden einzelnen Teilstring ist möglich,
- * aber durch die variable Argumentenliste eigentlich überflüssig,
- * da man so auch alle Teilstrings auf einmal angeben kann.
- *
- * Ein Beispiel für die Benutzung dieser Funktion finden Sie in
- * der Datei »demo/AlertDemo.C«.
- *
- * ACHTUNG: Diese Funktion muß auch dann aufgerufen werden, wenn nur ein
- * ¯¯¯¯¯¯¯¯ einziger Teilstring benutzt wird, da das Macro »DATEXT()«
- * keine vollständige Initialisierung des gleichen vornimmt. Das
- * wird alles erst durch »DAJOIN()« erledigt !!
- *
- * Siehe auch: »DATEXT()«
- *«««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««««*/
-
- #ifdef __cplusplus
- extern "C" {
- #endif
-
- VOID DAJOIN(UWORD Count, ...);
-
- #ifdef __cplusplus
- }
- #endif
-
- #endif /* RHOSIGMA_SETTINGS_H */
-
-